var express = require('express');
var router = express.Router();
const fs = require("fs");
// 引入
var multer = require('multer');//接收图片
// 上传的文件需要存在哪
var upload = multer({
  dest: './static/images' 
});//定义图片上传的临时目录
const User = require('../db/user')
/* 注册 */
router.post('/regist', function (req, res) {
  let { username, password } = req.body
  User.find({ username }, function (err, data) {
    if (!err) {
      if (data.length == 0) {
        User.create([
          { username, password },
        ], (err, data) => {
          if (!err) {
            res.send({
              code: 200,
              msg: '注册成功',
              data
            })
          } else {
            throw err;
          }
        })
      } else {
        res.send({
          code: 201,
          msg: '用户名重复',
          data: []
        })
      }
    }
  })
});
// 登录
router.post("/login", function (req, res) {
  let { username, password } = req.body
  User.find({ username, password }, function (err, data) {
    if (!err) {
      if (data.length == 0) {
        res.send({
          code: 201,
          msg: '用户名或密码错误',
          data: []
        })
      } else {
        res.send({
          code: 200,
          msg: '登录成功',
          data
        })

      }
    }
  })
})
// 修改昵称
router.post("/nick", function (req, res) {
  let { id, nickname } = req.body
  User.update({ _id: id }, { $set: { nickname } }, function (err) {
    if (err) {
      res.send({ statu: 500, msg: '修改失败' });
      return
    }
    res.send({ statu: 200, msg: '修改成功' });
  })
})
// 修改个性签名
router.post("/signature", function (req, res) {
  let { id, signature } = req.body
  User.update({ _id: id }, { $set: { signature } }, function (err) {
    if (err) {
      res.send({ statu: 500, msg: '修改失败' });
      return
    }
    res.send({ statu: 200, msg: '修改成功' });
  })
})
// 上传图片
router.post('/upload', upload.single('img'), function(req, res, next) {
  console.log(req.file);
  // req.file 是 前端表单name=="img" 的文件信息
  let str = '.'+req.file.originalname.split('.').pop().toLowerCase()
  fs.rename(req.file.path, "static/images/"+req.file.filename+str, function(err) {
      if (err) {
          throw err;
      }
  })
  res.writeHead(200, {
      "Access-Control-Allow-Origin": "*"
  });
  res.end('http://localhost:3000/static/images/'+req.file.filename+str);
})
// 修改头像
router.post("/userimg", function (req, res) {
  let { id, user_img } = req.body
  User.update({ _id: id }, { $set: { user_img } }, function (err) {
    if (err) {
      res.send({ statu: 500, msg: '修改失败' });
      return
    }
    res.send({ statu: 200, msg: '修改成功' });
  })
})
// 修改背景
router.post("/userimg", function (req, res) {
  let { id, user_banner } = req.body
  User.update({ _id: id }, { $set: { user_banner } }, function (err) {
    if (err) {
      res.send({ statu: 500, msg: '修改失败' });
      return
    }
    res.send({ statu: 200, msg: '修改成功' });
  })
})
module.exports = router;